#!/usr/bin/env python3
"""
流式聊天机器人主入口文件
"""
import subprocess
import sys
import os

def main():
    """启动应用"""
    print("🚀 启动流式聊天机器人...")
    print("📄 新功能：支持AI回复转换为DOCX文档！")
    print()
    
    # 先加载环境变量
    from dotenv import load_dotenv
    
    # 检查环境变量文件
    if not os.path.exists('.env'):
        print("❌ 未找到 .env 文件，请先配置环境变量")
        print("💡 复制 .env.example 到 .env 并填入你的API密钥")
        return
    
    # 加载环境变量文件，override=True确保.env文件中的值优先于系统环境变量
    load_dotenv(override=True)
    
    api_key = os.getenv("OPENAI_API_KEY", "")
    base_url = os.getenv("OPENAI_BASE_URL", "https://api.openai.com/v1")
    model_name = os.getenv("MODEL_NAME", "gpt-3.5-turbo")
    
    if api_key:
        # 隐藏API密钥中间部分
        if len(api_key) > 10:
            masked_key = api_key[:4] + "*" * (len(api_key) - 8) + api_key[-4:]
        else:
            masked_key = api_key[:2] + "*" * (len(api_key) - 4) + api_key[-2:]
        print(f"🔑 API密钥: {masked_key}")
    else:
        print("❌ 未找到API密钥")
        return
    
    print(f"🌐 API地址: {base_url}")
    print(f"🤖 模型名称: {model_name}")
    print()
    
    print("✅ 环境检查通过")
    print("🌐 启动服务器...")
    print("📱 访问地址: http://localhost:8000")
    print("💡 在AI回复气泡右上角点击⋯按钮可导出DOCX文档")
    print("⏹️  按 Ctrl+C 停止服务")
    print()
    
    # 启动应用服务器
    try:
        subprocess.run([sys.executable, 'src/chatbot/server/main.py'])
    except KeyboardInterrupt:
        print("\n👋 服务已停止")

if __name__ == "__main__":
    main()